With the advent of the Internet video conferencing or Instant Messaging has become widely available to users having a broadband connection and a personal computer. In computer systems, device drivers are to interface hardware devices to application programs. A driver acts like a translator between a hardware device and an application program (e.g., Microsoft Office) that use the device (e.g., a specific printer). Each hardware device typically has its own set of specialized commands that are known to its dedicated driver thereby to control operation of the device. Likewise, most application programs require access to devices by using generic commands that are not hardware device specific. In order for the application program to utilize generic commands to communicate with the device, the driver accepts generic commands from the application program and translates them into specialized commands understood by the device. Likewise, the device driver may accept specific commands from the device (e.g., ink low in the printer) and translate them into generic commands understood by the application program. Many drivers, such as a keyboard driver, come with an operating system. For other devices, a new driver may need to be loaded when connecting the device to a computer system. Device drivers may essentially comprise a number of files. For example, in DOS systems, drivers are files with a .SYS extension; in Windows environments, drivers often have a .DRV extension.
It will be appreciated that, when a new hardware device is to be added to a computer system, application programs resident on the computer system need not be modified and all that is required is a new device driver to interface the new hardware to the existing application programs.